Techniques referred to as “migration” are used to change the nodes (i.e., computers) used to provide ICT (Information and Communication Technology) services. One example is node migration where all of the processes of nodes executing the present services are moved to nodes with higher processing performance in response to an increase in the load of ICT services. Another example is process migration where only specified processes are moved.
With either migration technique, necessary data (migration data) in memory is transferred from movement sources to movement destinations. Migration is typically realized by the movement source nodes writing migration data onto a shared disk (secondary storage apparatus) and the movement destination nodes reading the migration data from the shared disk and expanding the migration data in a memory. With this technique, most of the time taken by the migration process is used in input/output processing for the shared disk, which means that migration takes a long time.
In recent years, diskless migration where migration data is directly transferred via a network from the movement source to the movement destination has been realized as a faster form of migration. With diskless migration, migration is cooperatively performed by the movement source nodes and the movement destination nodes. Diskless migration is especially effective for a system, such as an HPC (High Performance Computing) system that executes high-speed processing.
HPC systems typically use an arrangement where a plurality of computing nodes connected by a high-speed interconnect execute jobs according to parallel processing. In such systems, an MPI (Message Passing Interface) for example is used to transfer the data used by the respective computing nodes in parallel processing via the interconnect.
In large HPC systems in particular, a network with a torus or mesh interconnect is used. Since a router is incorporated at each node and the nodes are directly interconnected, a network with a torus or mesh interconnect can be referred to as a “direct network”. Parallel jobs on a network with a torus or mesh interconnect are assigned to node groups in a submesh (for a case where the network is three dimensional, a cuboid region) of a minimal size, for example. This is to stop inter-nodal communication within a job from affecting other jobs. During migration in an HPC system, migration data is transferred from a node group (movement source) in the present submesh to a node group (movement destination) in a new submesh.
Parallel processing architecture that effectively reduces the requirements on the wiring used to interconnect arrays is one example of a technology relating to data transfers when data is processed in parallel. It is also conceivable to use task migration that is effective in a multi-computer with a mesh interconnect that uses wormhole routing.
See, for example, the following documents:
Japanese National Publication of International Patent Application No. 2002-507300; and
Gwo-Jong Yu, Chih-Yung Chang, Tzung-Shi Chen, “Task migration in n-dimensional wormhole-routed mesh multicomputers”, Journal of Systems Architecture, March 2004, Volume 50, Issue 4, pp.177-192.
However, when migration is performed from a movement source node group to a movement destination node group, a plurality of adjacent nodes simultaneously transmit a large amount of data, which makes the communication susceptible to congestion. When congestion occurs, extraneous processing, such as retransmission due to packet loss, is caused, which lowers the efficiency of data transfer. Note that regardless of whether migration is being performed, when a number of data transfers are simultaneously performed from a node group in a submesh to a node group in another submesh, the efficiency of data transfer will fall due to congestion.